package com.jinzhi.jzweb.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.jinzhi.common.utils.Result;
import com.jinzhi.jzweb.domain.JazCoursesOrderDO;
import com.jinzhi.common.base.CoreService;
import com.jinzhi.jzweb.domain.vo.JazCoursesOrdeVo;

import java.util.Map;

/**
 * 
 * <pre>
 * 课程订单表
 * </pre>
 * <small> 2024-05-13 17:00:28 | Long</small>
 */
public interface JazCoursesOrderService extends CoreService<JazCoursesOrderDO> {

    JazCoursesOrderDO creatOrder(JazCoursesOrderDO jazCoursesOrderDTO);


    Map<String, Object> jsapiPay(JazCoursesOrderDO jazCoursesOrderDTO);

    public Result<?> jsapiRefund(JazCoursesOrderDO jazCoursesOrderDTO);

    Result<?> cancelOrder(Long orderId);

    void processOrder(Map<String, Object> bodyMap);

    void updateReadStatus(String orderIds);

    int getOrderStatusNum();

    void setDefaultComment();

    /**团购订单处理**/
    void groupProcessOrder(Map<String, Object> bodyMap);

    void cyGroupProcessOrder(Map<String, Object> bodyMap);

    void upRefundStatus(Map<String, Object> bodyMap);

    void upOrderRefundStatus(Map<String, Object> bodyMap);

    public Result<?> selOrderList(JazCoursesOrderDO jazCoursesOrderDTO);

    public Result<?> orderDetail(Long orderId);

    Result<Page<JazCoursesOrderDO>> selCourseOrderList(String name, String mobile, int current, int size, String createTime, String endTime, String status);

    JazCoursesOrdeVo getInfo(Long id);
}
